diff --git a/system/database/DB_export.php b/system/database/DB_export.php
index a2e3e3e..1704f0d 100644
--- a/system/database/DB_export.php
+++ b/system/database/DB_export.php
@@ -13,12 +13,6 @@
  * @filesource
  */
 
- 
-// INITIALIZE THE CLASS ---------------------------------------------------
-
-$obj =& get_instance();
-$obj->init_class('CI_DB_export', 'dbexport');
-
 // ------------------------------------------------------------------------
 
 /**
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index a2469d0..764f10c 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -12,11 +12,6 @@
  * @since		Version 1.0
  * @filesource
  */
- 
-// INITIALIZE THE CLASS ---------------------------------------------------
-
-$obj =& get_instance();
-$obj->init_class('CI_DB_utility', 'dbutility');
 
 // ------------------------------------------------------------------------
 
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index d4f322d..792e023 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -227,9 +227,13 @@
 			return $str;
 		}
 
-    	if (function_exists('mysql_escape_string'))
+    	if (function_exists('mysql_real_escape_string'))
     	{
-			return mysql_real_escape_string($str);
+			return mysql_real_escape_string($str, $this->conn_id);
+		}
+		elseif (function_exists('mysql_escape_string'))
+		{
+			return mysql_escape_string($str);
 		}
 		else
 		{
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index 63df0fe..b158cfe 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -230,14 +230,7 @@
 			return $str;
 		}
 
-    	if (function_exists('mysql_escape_string'))
-    	{
-			return mysqli_real_escape_string($this->conn_id, $str);
-		}
-		else
-		{
-        	return addslashes($str);
-    	}
+		return mysqli_real_escape_string($this->conn_id, $str);
 	}
 		
 	// --------------------------------------------------------------------
